<?php
interface Pageley_Domain_Attribute {
	
	public function getName();
	
	public function validate($value, $propertyName, $target);
	
	public function isMultiple();
	
	public function isReference();
	
    public function isEager();
    
    public function isRequired();
	
	public function newProperty($entity);
    
    public function isComposite();
    
    public function shouldEncrypt();
    
    public function getType();
    
    public function equals($attribute);
    
    public function getConverter();
}